In a high-speed information transmission system generally adopted at present, usually, it is required to perform FEC (Forward Error Correction, forward error correction) encoding on information to be sent at a transmitting end, and correct an error in a transmission link and output required information through a corresponding FEC decoder at a receiving end. FEC is such a technology that information is processed in a certain format in advance before the information is sent, and decoding is performed according to a specified algorithm at a receiving end, so as to find and correct an error code.
With development of the high-speed information transmission system, a higher requirement is also imposed on a FEC technology. An FEC encoder/decoder with high performance, a high throughput, and a low implementation difficulty is critical to system design. Using an LDPC (Low Density Parity Code, low density parity code) code with higher transmission performance to transmit information gradually becomes a mainstream encoding manner of the FEC technology.
The LDPC code is a type of FEC code word that may approach the Shannon limit and has a gain characteristic. LDPC encoding and decoding are both performed for a single block of information, and LDPC decoding is implemented through a check matrix (H matrix). The H matrix is an M×N matrix, where N is the length of a block code, K is the length of information, and M=N−K, which represents that M check equations exist. Each row of the H matrix represents one check equation. Generally, an LDPC block decoder divides M check equations into m layers, and each layer includes M/m check equations. A decoding process is that the LDPC block decoder checks one code word by using check equations of a 1st layer to an mth layer respectively, and output information is fed back to an input end of the LDPC block decoder for multiple iterations until the decoding is completed.
Since performance of information transmission is restricted by an LDPC code length, in order to implement high-performance and high-throughput FEC encoding and decoding, a code length of the LDPC code is usually required to be quite long. However, the LDPC is a linear block code, and therefore, when a code length of information processed at a single time is longer, an implementation difficulty of a circuit is increased, and meanwhile, consumption of a logical resource is greatly increased, thereby seriously affecting performance of encoding and decoding.